package yl.hs.bmipfull.service.chart;

import yl.hs.bmipfull.viewmodels.chart.SiteProductionDegreeVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author 谢东
 * @apiNote
 * @since 2022-03-16 14:08 创建
 */
public interface IProductionChartService {

    /**
     * 根据时间获取计划量
     * @param type 时间类型
     * @param cateSn 产品编号
     * @return 汇总
     */
    BigDecimal getPlanQuantity(int type,String cateSn);

    /**
     * 根据时间获取发货量
     * @param type 时间类型
     * @param cateSn 产品编号
     * @return 汇总
     */
    BigDecimal getDeliveringAmount(int type, String cateSn);

    /**
     * 获取未设配比行数
     * @return 行数
     */
    Integer getNoProportioning();

    List<SiteProductionDegreeVO> getSiteProductionDegree();
    /**
     * 查询本月产品发货量
     * @return 产品集合以及发货量集合
     */
    Map<String,Object> getProductByMonth();
    /**
     * 查询产品本月工地发货量
     * @return 产品集合以及发货量集合
     */
    Map<String,Object> getProductProjectByMonth();
    /**
     * 查询产品产量\销量曲线
     * @return 产品集合以及发货量集合
     */
    Map<String,Object> getProductSalesCurve(String productCateSn,int type);

    Map<String,Object> getProductionLineSalesVolumeAndOutput(int dateType,String cateSN);
}
